// 立即执行函数的基本使用
// (function () {
//   console.log('立即执行函数');
// })()
// 不同返回值的情况
var res = void function () {
    return 10
}()
// console.log(res);

for (var i = 0; i < 6; i++) {
    (function (j) {
        console.log(j); //0,1,2,3,4,5
    })(i)
    // 因为 JS 中调用函数传递参数都是值传递 ，所以当立即执行函数执行时，首先会把参数 i 的值复制一份，然后再创建函数作用域来执行函数，循环5次就会创建5个作用域，所以每个输出访问的都是不同作用域的 i 的值 。
}
